package fiuba.algo3.algoThieft.vista;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.util.List;

import fiuba.algo3.algoThieft.modelo.Pista;

public class Consola {
	private PrintStream salida; 
	private BufferedReader entrada;
	
	public Consola(){
		this.salida = System.out;
		this.entrada = new BufferedReader(new InputStreamReader(System.in));
	}
	
	public void mostrar( String texto ){
		this.salida.print(texto);
		
	}
	
	public void mostrarLinea( String texto ){
		this.salida.println(texto);
		
	}
		
	public String obtenerIngreso(){
			
		try {
			String cadena = this.entrada.readLine();
			return cadena;
		} catch (IOException e) {
			this.mostrarLinea("ERROR, imposible leer");
		}
		//como el codigo esta en un bloque try catch
		//agrego esta linea en caso de que no funcione 
		return "";			
		
	}

	public void mostrar(Menu menu) {
		this.salida.println(menu.getTitulo());
		this.salida.println();
		List<String> opciones = menu.getOpciones();
		int numero = 1;
		for ( String cadena : opciones ){
			this.salida.println( Integer.toString(numero) + " - " + cadena ); 
			this.salida.println();
			numero++;
		}
		
		  
		
	}

	public void mostrar(Pista unaPista) {
		this.salida.println( unaPista.comoString() );
		this.salida.println( "presione enter para continuar" );
		try {
			this.entrada.readLine();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	
	public void salir (){
		System.exit(0);
	}

	

}
